import re

def is_valid_phone_number(phone_number):
    # 正则表达式规则：11位数字，以1开头，第二位是3、4、5、6、7、8、9中的任意一个，其余9位数字
    pattern = re.compile(r'^1[3-9]\d{9}$')
    return pattern.match(phone_number) is not None



#对身份证号码的校验
def validate_id_number(id_number):
    if not re.match(r'^\d{17}(\d|X)$', id_number):
        return False

    # 定义系数和校验码映射
    factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
    check_codes = '10X98765432'

    # 计算校验码
    total = sum(int(id_number[i]) * factors[i] for i in range(17))
    mod = total % 11
    expected_check_code = check_codes[mod]

    # 比较计算出的校验码和身份证上的校验码
    return id_number[-1] == expected_check_code
